1. Field of the Invention
The present invention generally relates to the field of web application servers, and more specifically to the provision of support for non-persistent services by web application servers.
2. Description of Related Art
Web application servers are used for providing application services over the web. As the use of the web increases and entities such as companies, universities and small businesses are heading to the web in record numbers to establish a presence, the use of web application servers has also increased. The IBM WebSphere product is an example of a web application server system. IBM WebSphere utilizes the Java 2 Enterprise Edition (J2EE) web application server model—a standard web application server model. The J2EE application models adds transparent persistence and transactionality to the Java programming language. This means that transactions may be automatically undone, or rolled back, in the event of an application code error or server failure. For example, the web application server can be a bank application server that receives a withdrawal request. The bank application server may initiate the withdrawal transaction but encounter an application code error. In this case, the bank application server rolls back the withdrawal transaction by replacing the amount debited by the withdrawal request.
This “roll back” feature also applies to application code that invokes middleware services such as message queuing (e.g., IBM MQ), as long as the services also are persistent and provide support for transactions. However, the roll back feature does not apply to application code that invokes middleware services that are not persistent and do not provide support for transactions. For example, most widely used instant messaging systems, such as America Online Instant Messenger and ICQ, are not persistent and do not provide support for transactions. These systems consist simply of a central middleware application server and instant messenger client programs on each client computer.
As a result of this limitation, currently available web application servers that support the instant messaging non-persistent services above do not adequately provide the roll back feature. That is, transactions may be rolled back at the web application server, but the roll back does not occur at the service (i.e., instant messaging program). Thus, the state of the web application server is inconsistent with the state of the non-persistent service. That is, the web application server believes that the transaction never took place (since it was rolled back) while the non-persistent service believes that the transaction has already occurred and remains as such. This is disadvantageous because it can lead to inconsistencies and errors between the web application server and the non-persistent service.
Therefore a need exists to overcome the problems as discussed above, and particularly for a web application server that can provide support for non-persistent services.